package com.sybil.ot.dominio;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Embeddable
public class ResponsableZonaPK implements Serializable {

   private String codigoEmpleado;
   private String claveZona;

   public ResponsableZonaPK() {
   }

   public ResponsableZonaPK(String empleado, String zona) {
      this.codigoEmpleado = empleado;
      this.claveZona = zona;
   }

   @Basic(optional = false)
   @NotNull(message = "Especificar el Empleado responsable")
   @Size(min = 1, max = 30, message = "El código debe tener entre 1 y 30 caracteres")
   @Column(name = "REZO_PERS_CODIGO")
   public String getCodigoEmpleado() {
      return codigoEmpleado;
   }

   public void setCodigoEmpleado(String codigoEmpleado) {
      this.codigoEmpleado = codigoEmpleado;
   }

   @Basic(optional = false)
   @NotNull
   @Column(name = "REZO_ZONA_CLAVE")
   public String getClaveZona() {
      return claveZona;
   }

   public void setClaveZona(String claveZona) {
      this.claveZona = claveZona;
   }

   @Override
   public int hashCode() {
      int hash = 0;
      hash += (codigoEmpleado != null ? codigoEmpleado.hashCode() : 0);
      hash += (claveZona != null ? claveZona.hashCode() : 0);
      return hash;
   }

   @Override
   public boolean equals(Object object) {
      if (!(object instanceof ResponsableZonaPK)) {
         return false;
      }
      ResponsableZonaPK other = (ResponsableZonaPK) object;
      if ((this.codigoEmpleado == null && other.codigoEmpleado != null) || (this.codigoEmpleado != null && !this.codigoEmpleado.equals(other.codigoEmpleado))) {
         return false;
      }
      if ((this.claveZona == null && other.claveZona != null) || (this.claveZona != null && !this.claveZona.equals(other.claveZona))) {
         return false;
      }
      return true;
   }

   @Override
   public String toString() {
      return "ResponsableZonaPK[ empleado=" + codigoEmpleado + ", zona=" + claveZona + " ]";
   }
}
